package com.yida.wy.common.mapper;

import com.mybatisflex.core.BaseMapper;
import com.yida.wy.common.domain.WyBaseOwner;
import com.yida.wy.common.domain.dto.WyBaseOwnerHouseListDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 基础数据（业主）Mapper接口
 *
 * @author lqq
 * @date 2022-11-14
 */
public interface WyBaseOwnerMapper extends BaseMapper<WyBaseOwner> {

    /**
     * 查询基础数据（业主）列表
     *
     * @param owner 基础数据（业主）
     * @return 基础数据（业主）集合
     */
    public List<WyBaseOwner> selectGwjBaseOwnerList(WyBaseOwner owner);

    /**
     * 查询业务业主信息（基础数据管理模块）列表
     *
     * @param houseCodes 房屋标识码
     * @param areaId 地区ID
     * @return 业务业主信息（基础数据管理模块）集合
     */
    List<WyBaseOwner> selectGwjBaseListByGwjBaseHouseCodes(@Param("houseCodes") String[] houseCodes, @Param("areaId") Long areaId);

    /**
     * 新增基础数据（业主）
     *
     * @param owner 基础数据（业主）
     * @return 结果
     */
    int insertGwjBaseOwner(WyBaseOwner owner);

    /**
     * 修改基础数据（业主）
     *
     * @param owner 基础数据（业主）
     * @return 结果
     */
    int updateGwjBaseOwner(WyBaseOwner owner);

    /************************* 新功能保留区 ************************************/
    /**
     * 新增基础数据（业主）
     *
     * @param owners 业主集合
     * @return 结果
     */
    public int insertImportGwjBaseOwner(List<WyBaseOwner> owners);

    /**
     * 修改基础数据（业主）
     *
     * @param owners 业主集合
     * @return 结果
     */
    public int updateImportGwjBaseOwner(List<WyBaseOwner> owners);

    /************************* 新功能保留区 ************************************/

    /**
     * 查询业务业主信息（基础数据管理模块）列表
     *
     * @param houseCode 房屋标识码
     * @param areaId 地区ID
     * @return 业务业主信息（基础数据管理模块）集合
     */
    WyBaseOwner selectGwjBaseByGwjBaseHouseCodeAndAreaId(@Param("houseCode") String houseCode, @Param("areaId") Long areaId);

    /**
     * 查询业主房屋信息列表
     *
     * @param gwjBaseOwner 业主信息
     * @return /
     */
    List<WyBaseOwnerHouseListDTO> selectGwjOwnerHouseList(WyBaseOwner gwjBaseOwner);
}
